/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package app.netmorphgui;

import app.netmorphgui.tabs.AbstractTab;
import app.netmorphgui.tabs.AllDendritesTab;
import app.netmorphgui.tabs.ApicalTab;
import app.netmorphgui.tabs.AxonTab;
import app.netmorphgui.tabs.EnvironmentTab;
import app.netmorphgui.tabs.GeneralTab;
import app.netmorphgui.tabs.IParameterTab;
import app.netmorphgui.tabs.OutputTab;
import app.netmorphgui.tabs.RegionTab;
import netmorph.model.NetmorphModel;
import java.util.ArrayList;
import java.util.List;

/**
 * 
 * @author Risto Laakso <risto.laakso@gmail.com>
 */
public class NetmorphModelView extends NetmorphModel {

    List<AbstractTab> tabs = new ArrayList<AbstractTab>();

    public GeneralTab general;
    public RegionTab region;
    public EnvironmentTab environment;
    public AllDendritesTab allDendrites;
    public ApicalTab apical;
    public AxonTab axon;
    public OutputTab output;


    public List<IParameterTab> tabs()
    {
            List<IParameterTab> list = new ArrayList<IParameterTab>();
            list.add(general);
            list.add(environment);
            list.add(region);
            list.add(allDendrites);
            list.add(apical);
            list.add(axon);
            list.add(output);
            return list;
    }

    public NetmorphModelView() {
        super();
        
        general = new GeneralTab(config);

        region = new RegionTab(config);

        allDendrites = new AllDendritesTab(config);
        apical = new ApicalTab(config);
        axon = new AxonTab(config);

        environment = new EnvironmentTab(config);
        output = new OutputTab(config);


        tabs.add(general);
        tabs.add(region);
        tabs.add(allDendrites);
        tabs.add(apical);
        tabs.add(axon);
        tabs.add(environment);
        tabs.add(output);
    }

	 public void updateTabs()
	{
		 general.load(config);
		 region.load(config);
		 allDendrites.load(config);
		 apical.load(config);
		 axon.load(config);
		 environment.load(config);
		 output.load(config);
	 }

}
